﻿
Imports System.Windows.Media.Animation
Imports System.Windows.Media
Imports System.Collections.ObjectModel
Imports System.ComponentModel

Class MainWindow


'Public iconNotification As System.Windows.Forms.NotifyIcon 'NOTIFICACION
Public Const  NOMBREAPLICATIVO As String = "FRIDA"


Public Shared FuncionActiva As New RadioButton()
Public Shared ExpanderActivo As Expander = Nothing

Public negocioGral As CServiciosGenerales

Private temporal As System.Timers.Timer
Private temSesiones As System.Timers.Timer
Private bRepetirMensaje As Boolean = True






#Region "Exclusivo de valmer para la comunicación entre pantallas"



    Public paramEntreVentanasValmer As DatosPasoValmer
    Public Structure DatosPasoValmer
       Dim instrumento As String
       Dim numero As Integer
    End Structure

  '-----------Programación Masiva------------
    Dim negocioVALMER As CValmerServicio
    Public Shared paramEjecMasivaValmer As CValmerServicio.paramMasiva
    Public Shared lstDatosMasivosValmer As New ObservableCollection(Of CTInstrumentosValmerBatch)


#End Region




    Public Sub New()
  InitializeComponent()

    
     '*****************NOTIFICACION*********************************************
        'iconNotification = New System.Windows.Forms.NotifyIcon
        'iconNotification.BalloonTipText = "Nueva notificación"
        'iconNotification.BalloonTipTitle = "Partida de ejecución"
        
        
        'iconNotification.Text = "Presione Click para mostrar..."
        'iconNotification.Icon = New System.Drawing.Icon("../FRIDA.ico")
        'iconNotification.BalloonTipIcon = System.Windows.Forms.ToolTipIcon.Info 

        'iconNotification.Visible = True 

        'AddHandler iconNotification.Click, AddressOf iconNotification_Click
     '********************************************************************************





        OcultarFuncionesXArea()
        CrearTemporizador() '2. Crea timer y agrega evento
        CrearTemporizadorSesion() '2. Crea timer y agrega evento
        negocioGral = New CServiciosGenerales()



        Me.lblNombre.Content = CServiciosMacrosSyBaseDB.NOMBREUSUARIO

        Try
            negocioVALMER = New CValmerServicio()
            paramEjecMasivaValmer = negocioVALMER.ObtenerParamEjecMasiva
        Catch ex As Exception
            MessageBox.Show("Error TI500. Ocurrió un problema al intentar cargar los parámetros de la carga masiva de Valmer. Favor de reportar a sistemas." & ex.Message, "Carga masiva Valmer", MessageBoxButton.OK, MessageBoxImage.Exclamation)
        End Try


        'Animación para el indicador de procesos masivos 
        Dim animSubestatus As New DoubleAnimation()
        animSubestatus.Duration = New Duration(TimeSpan.FromSeconds(1))
        animSubestatus.RepeatBehavior = RepeatBehavior.Forever
        animSubestatus.From = 0
        animSubestatus.To = 1
        Me.imgProcMasivos.BeginAnimation(UIElement.OpacityProperty, animSubestatus)




        Me.Title = NOMBREAPLICATIVO & " (QA) " & System.Diagnostics.FileVersionInfo.GetVersionInfo(System.Reflection.Assembly.GetExecutingAssembly.Location).FileVersion


End Sub



    Public Sub CrearTemporizador()
        temporal = New System.Timers.Timer()
        temporal.Interval = 1000
        AddHandler temporal.Elapsed, AddressOf temporal_Elapsed
        temporal.Enabled = True
    End Sub

    Public Sub CrearTemporizadorSesion()
        temSesiones = New System.Timers.Timer()
        temSesiones.Interval = 3000
        AddHandler temSesiones.Elapsed, AddressOf temSesiones_Elapsed
        temSesiones.Enabled = True
    End Sub


    Private Sub temporal_Elapsed(ByVal sender As Object, ByVal e As System.Timers.ElapsedEventArgs) 'Manejador del evento
        Dispatcher.BeginInvoke(New Action(AddressOf ActualizaReloj))
    End Sub

     Private Sub temSesiones_Elapsed(ByVal sender As Object, ByVal e As System.Timers.ElapsedEventArgs) 'Manejador del evento
        Dispatcher.BeginInvoke(New Action(AddressOf ActualizaRelojSesiones))
    End Sub


    Private Sub ActualizaReloj()
        Me.lblFechaHora.Content = DateTime.Now.ToString("dd/MMM/yyyy") & " " & DateTime.Now.ToLongTimeString
     
        '*******************(INICIO)Ejecuciones Programadas***************************
            'If CValmerServicio.EjecucionMasiva = true then   
            '   Me.imgProcMasivos.Visibility = Windows.Visibility.Visible  
            'else
            '   Me.imgProcMasivos.Visibility = Windows.Visibility.Hidden   
            'End If
            'If paramEjecMasivaValmer.fechaeject.ToString ("yyyy-MM-dd HH:mm:00").Equals ( DateTime.Now.ToString ("yyyy-MM-dd HH:mm:ss")) and paramEjecMasivaValmer.ejecutar = 1   then 
            '   If CValmerServicio.EjecucionMasiva = False then                     
            '     Try
            '        Dim thProc As System.Threading.Thread    
            '        thProc = New System.Threading.Thread (AddressOf EjecutarMasivaValmer)
            '        thProc.Start ()                    
            '     Catch ex As Exception                    
            '     End Try
            '  Else                
            '    CUtileria.GrabarBitacora ("MasivaValmer","Masiva_VALMER_BLOQUEO","La ejecución de la masiva Valmer programada no se puede efectuar dado que ya existe un proceso similar en ejecución")                       
            '  End If                 
            'End If
        '*******************(FIN)Ejecuciones Programadas***************************

        End Sub


    Private Sub ActualizaRelojSesiones()
       Dim datosSesion As CServicioLocalSQLServerDB.strucDatosDeSesion



        Try
            datosSesion = negocioGral.ValidarExistenciaDeSesion(CServiciosMacrosSyBaseDB.SESION, CServiciosMacrosSyBaseDB.USUARIO)
        Catch ex As Exception
        End Try

        If datosSesion.id <= 0 And bRepetirMensaje = True Then
             bRepetirMensaje = False
             MessageBox.Show("La sesión ha caducado debido a que otro usuario ha ingresado con el mismo usuario", "Acceso", MessageBoxButton.OK, MessageBoxImage.Information)
             End
        End If


     End Sub


Private Sub Window_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded
  Me.expFrontOffice.Focus()
End Sub

Private Sub AperturaExpander(ByVal sender As Object, ByVal args As RoutedEventArgs)

If TypeOf args.Source Is Expander Then
  If Not ExpanderActivo Is Nothing Then
     If ExpanderActivo.IsExpanded = True Then
       ExpanderActivo.IsExpanded = False
     End If

  End If

  ExpanderActivo = args.Source

End If

End Sub

Private Sub CierreExpander(ByVal sender As Object, ByVal args As RoutedEventArgs)
   ExpanderActivo = Nothing
End Sub

Private Sub SeleccionDeFuncionalidad(ByVal sender As Object, ByVal args As RoutedEventArgs)

  If TypeOf args.Source Is RadioButton Then
        Dim funcionSel As RadioButton = CType(args.Source, RadioButton)

            Mouse.OverrideCursor = Cursors.Wait

      Select Case funcionSel.Name

                Case "rdbgenBsoPs" 'Generación de BSO y PS 
                    Me.frmFuncionalidad.Source = Nothing                    
                    Me.frmFuncionalidad.Source = New Uri("pack://application:,,,/Presentacion/Fun_Liq/FLResumenBSO.xaml")
                    FuncionActiva = funcionSel                     
                    Me.lblPantalla.Content = "Generación de Boleta de Solicitud (BSO) y Partidas de Solicitud (PS)"

                Case "rdbDistribLiq"  'Distribución de liquidez
                    Me.frmFuncionalidad.Source = Nothing                    
                    Me.frmFuncionalidad.Source = New Uri("pack://application:,,,/Presentacion/Fun_Liq/FLDistFondoInterRepo.xaml")                    
                    FuncionActiva = funcionSel
                    Me.lblPantalla.Content = "Distribución de Liquidez"

                'Case "rdbSaldos"  'Macro de Porvenir    
                '    Me.frmFuncionalidad.Source = Nothing
                '    Me.frmFuncionalidad.Source = New Uri("pack://application:,,,/Presentacion/Macros/Formas/CMLiquidezSaldos.xaml")
                '    'Me.frmFuncionalidad.Source = New Uri("pack://application:,,,/Presentacion/Fun_Liq/FLEnvioCartas.xaml")
                '    FuncionActiva = funcionSel
                '    Me.lblPantalla.Content = "Saldos"

                Case "rdbBitacora"  'Bitacora             
                    Me.frmFuncionalidad.Source = Nothing
                    Me.frmFuncionalidad.Source = New Uri("pack://application:,,,/Presentacion/Macros/Formas/CBitacora.xaml")
                    FuncionActiva = funcionSel
                    Me.lblPantalla.Content = "Bitácora de operaciones"

                Case "rdbConfigLiq"  'Mantenimiento catalogos liq            
                    Me.frmFuncionalidad.Source = Nothing
                    'Me.frmFuncionalidad.Source = New Uri("pack://application:,,,/Presentacion/Macros/Formas/CMConfigCatLiq.xaml")
                    Me.frmFuncionalidad.Source = New Uri("pack://application:,,,/Presentacion/Fun_Liq/FLParamConfigGral.xaml")                    
                    FuncionActiva = funcionSel
                    Me.lblPantalla.Content = "Parametrización del Flujo de liquidez"

                Case "rdbFoliosDec"  'Folios Decalog           
                    Me.frmFuncionalidad.Source = Nothing
                    Me.frmFuncionalidad.Source = New Uri("pack://application:,,,/Presentacion/Macros/Formas/CBitacoraDecFolio.xaml")
                    FuncionActiva = funcionSel
                    Me.lblPantalla.Content = "Bitácora de folios de operación de fondeo Decalog"

                Case "rdbCOVAFTL" 'OPDIA
                    Me.frmFuncionalidad.Source = Nothing
                    Me.frmFuncionalidad.Source = New Uri("pack://application:,,,/Presentacion/Macros/Formas/CMCOVAFTL.xaml")
                    Application.Current.Properties("Funcion") = 7
                    FuncionActiva = funcionSel
                    Me.lblPantalla.Content = "OPDIA"

                Case "rdbCOVAFTLPorvenir" 'OPDIA Porvenir
                    Me.frmFuncionalidad.Source = Nothing
                    Me.frmFuncionalidad.Source = New Uri("pack://application:,,,/Presentacion/Macros/Formas/CMCOVAFTLPorvenir.xaml")
                    Application.Current.Properties("Funcion") = 8
                    FuncionActiva = funcionSel
                    Me.lblPantalla.Content = "OPDIA Porvenir"

                Case "rdbTraspasos" 'Traspasos
                    Me.frmFuncionalidad.Source = Nothing
                    Me.frmFuncionalidad.Source = New Uri("pack://application:,,,/Presentacion/Macros/Formas/CMTraspasos.xaml")
                    FuncionActiva = funcionSel
                    Me.lblPantalla.Content = "Traspasos"

                Case "rdbFactorUDI" 'Factor UDI
                    Me.frmFuncionalidad.Source = Nothing
                    Me.frmFuncionalidad.Source = New Uri("pack://application:,,,/Presentacion/Macros/Formas/CMFactorUDI.xaml")
                    FuncionActiva = funcionSel
                    Me.lblPantalla.Content = "Factor UDI"

                Case "rdbValmer" 'Macro Valmer               
                    Me.frmFuncionalidad.Source = Nothing
                    'Me.frmFuncionalidad.Source = New Uri("pack://application:,,,/Presentacion/Macros/Formas/CMValmer.xaml")
                    Me.frmFuncionalidad.Source = New Uri("pack://application:,,,/Presentacion/Fun_Liq/FLConciliaCupones.xaml")
                    FuncionActiva = funcionSel
                    Me.lblPantalla.Content = "Conciliación Cupones"
                    paramEntreVentanasValmer.instrumento = ""
                    paramEntreVentanasValmer.numero = 0

                 Case "rdbBench" 'Macro Bench
                    Me.frmFuncionalidad.Source = Nothing
                    Me.frmFuncionalidad.Source = New Uri("pack://application:,,,/Presentacion/Macros/Formas/CMBench.xaml")
                    FuncionActiva = funcionSel
                    Me.lblPantalla.Content = "Carga Bench"
                    paramEntreVentanasValmer.instrumento = ""
                    paramEntreVentanasValmer.numero = 0

                Case "rdbIssuePR" 'Bancario Issue PR
                    Me.frmFuncionalidad.Source = Nothing
                    Me.frmFuncionalidad.Source = New Uri("pack://application:,,,/Presentacion/Macros/Formas/CMIssuePR.xaml")
                    FuncionActiva = funcionSel
                    Me.lblPantalla.Content = "Bancario Issue PR"

                Case "rdbReporting" 'Reporting Bancomer
                    Me.frmFuncionalidad.Source = Nothing
                    Me.frmFuncionalidad.Source = New Uri("pack://application:,,,/Presentacion/Macros/Formas/CMReporting.xaml")
                    FuncionActiva = funcionSel
                    Me.lblPantalla.Content = "Reporting Bancomer"


                Case "rdbLoadInstrument"
                    Me.frmFuncionalidad.Source = Nothing
                    Me.frmFuncionalidad.Source = New Uri("pack://application:,,,/Presentacion/Macros/Formas/CMLoadInstrument.xaml")
                    FuncionActiva = funcionSel
                    Me.lblPantalla.Content = "LoadInstrument"

                Case "rdbBitacoraReporting" 'Bitácora Reporting Bancomer
                    Me.frmFuncionalidad.Source = Nothing
                    Me.frmFuncionalidad.Source = New Uri("pack://application:,,,/Presentacion/Macros/Formas/CBitacoraReporting.xaml")
                    FuncionActiva = funcionSel
                    Me.lblPantalla.Content = "Bitácora DECALOG - Reporting Bancomer"

                Case "rdbConfigCOVAFTLPorvenir" 'Mantenimiento COVAFTL Porvenir
                    Me.frmFuncionalidad.Source = Nothing
                    Me.frmFuncionalidad.Source = New Uri("pack://application:,,,/Presentacion/Macros/Formas/CMConfigCOVAFTLPorvenir.xaml")
                    FuncionActiva = funcionSel
                    Me.lblPantalla.Content = "Configuración de catálogos de COVAFTL Porvenir"

                Case "rdbConfigReporting" 'Mantenimiento ReportingBancomer
                    Me.frmFuncionalidad.Source = Nothing
                    Me.frmFuncionalidad.Source = New Uri("pack://application:,,,/Presentacion/Macros/Formas/CMConfigReporting.xaml")
                    FuncionActiva = funcionSel
                    Me.lblPantalla.Content = "Configuración de catálogos de Reporting Bancomer"

                Case "rdbBitacoraTraspasos" 'Bitácora Traspasos
                    Me.frmFuncionalidad.Source = Nothing
                    Me.frmFuncionalidad.Source = New Uri("pack://application:,,,/Presentacion/Macros/Formas/CBitacoraTraspasos.xaml")
                    FuncionActiva = funcionSel
                    Me.lblPantalla.Content = "Bitácora DECALOG - Traspasos"

                Case "rdbBitacoraCOVAFTL" 'Bitácora COVAFTL
                    Me.frmFuncionalidad.Source = Nothing
                    Me.frmFuncionalidad.Source = New Uri("pack://application:,,,/Presentacion/Macros/Formas/CBitacoraCOVAFTL.xaml")
                    FuncionActiva = funcionSel
                    Me.lblPantalla.Content = "Bitácora DECALOG - COVAFTL"

                Case "rdbBitacoraCOVAFTLPorvenir" 'Bitácora COVAFTL Porvenir
                    Me.frmFuncionalidad.Source = Nothing
                    Me.frmFuncionalidad.Source = New Uri("pack://application:,,,/Presentacion/Macros/Formas/CBitacoraCOVAFTLPorvenir.xaml")
                    FuncionActiva = funcionSel
                    Me.lblPantalla.Content = "Bitácora DECALOG - COVAFTL Porvenir"

                Case "rdbUsuarios" 'Alta y modificación de usuarios
                    Me.frmFuncionalidad.Source = Nothing
                    Me.frmFuncionalidad.Source = New Uri("pack://application:,,,/Presentacion/Macros/Formas/CUsuarios.xaml")
                    FuncionActiva = funcionSel
                    Me.lblPantalla.Content = "Alta y modificación de usuarios"

                 Case "rdbConfigBench" 'Mantenimiento Bench
                    Me.frmFuncionalidad.Source = Nothing
                    Me.frmFuncionalidad.Source = New Uri("pack://application:,,,/Presentacion/Macros/Formas/CMConfigBench.xaml")
                    FuncionActiva = funcionSel
                    Me.lblPantalla.Content = "Configuración bench"

                 Case "rdbConfigValmer" 'Mantenimiento Valmer
                    Me.frmFuncionalidad.Source = Nothing
                    Me.frmFuncionalidad.Source = New Uri("pack://application:,,,/Presentacion/Macros/Formas/CMConfigValmer.xaml")
                    FuncionActiva = funcionSel
                    Me.lblPantalla.Content = "Configuración Valmer"


                 Case "rdbConfigLI" 'Mantenimiento LoadInstrument
                    Me.frmFuncionalidad.Source = Nothing
                    Me.frmFuncionalidad.Source = New Uri("pack://application:,,,/Presentacion/Macros/Formas/CMConfigLI.xaml")
                    FuncionActiva = funcionSel
                    Me.lblPantalla.Content = "Configuración LoadInstrument"

                Case "rdbConfigTraspasos" 'Mantenimiento traspasos
                    Me.frmFuncionalidad.Source = Nothing
                    Me.frmFuncionalidad.Source = New Uri("pack://application:,,,/Presentacion/Macros/Formas/CMConfigTraspasos.xaml")
                    FuncionActiva = funcionSel
                    Me.lblPantalla.Content = "Configuración de parámetros de Traspasos"

                Case "rdbAPIAssetAllocation" 'API Asset Allocation->
                    Me.frmFuncionalidad.Source = Nothing
                    Me.frmFuncionalidad.Source = New Uri("pack://application:,,,/Presentacion/Ordenes_Masivas/OMCreacion.xaml")
                    FuncionActiva = funcionSel
                    Me.lblPantalla.Content = "Órdenes Masivas"

                Case "rdbBitacoraAPIAssetAllocation" 'Bitáctora API Asset Allocation
                    Me.frmFuncionalidad.Source = Nothing
                    Me.frmFuncionalidad.Source = New Uri("pack://application:,,,/Presentacion/Macros/Formas/CBitacoraAPIAssetAllocation.xaml")
                    FuncionActiva = funcionSel
                    Me.lblPantalla.Content = "Bitácora DECALOG - Órdenes Masivas"

                Case "rdbConfigCamposValmer" 'Configuración campos Valmer
                    Me.frmFuncionalidad.Source = Nothing
                    Me.frmFuncionalidad.Source = New Uri("pack://application:,,,/Presentacion/Macros/Formas/CMConfigCamposValmer.xaml")
                    FuncionActiva = funcionSel
                    Me.lblPantalla.Content = "Configuración campos Valmer"

                Case "rdbExtraccionFicheros"  'Extracción Ficheros
                    Me.frmFuncionalidad.Source = Nothing
                    Me.frmFuncionalidad.Source = New Uri("pack://application:,,,/Presentacion/Macros/Formas/CMExtraccionFicheros.xaml")
                    FuncionActiva = funcionSel
                    Me.lblPantalla.Content = "Extracción Ficheros"

                Case "rdbFLDistEnPEJ" 'Generación de Partidas de Ejecución
                    Me.frmFuncionalidad.Source = Nothing
                    Me.frmFuncionalidad.Source = New Uri("pack://application:,,,/Presentacion/Fun_Liq/FLDistEnPEJ.xaml")
                    FuncionActiva = funcionSel
                    Me.lblPantalla.Content = "Generación de Partidas de Ejecución (PEJ)"


                 Case "rdbMonitorFL" 'Monitor Flujo de liquidez
                    Me.frmFuncionalidad.Source = Nothing
                    Me.frmFuncionalidad.Source = New Uri("pack://application:,,,/Presentacion/Fun_Liq/Monitor/FLMonitor.xaml")
                    FuncionActiva = funcionSel
                    Me.lblPantalla.Content = "Monitor de operaciones de flujo de liquidez"


                 Case "rdbCartasDistrib" 'Cartas de Distribución
                    Me.frmFuncionalidad.Source = Nothing
                    Me.frmFuncionalidad.Source = New Uri("pack://application:,,,/Presentacion/Fun_Liq/FLEnvioCartas.xaml")
                    FuncionActiva = funcionSel
                    Me.lblPantalla.Content = "Generación y envio de cartas de distribución"


                    
                 Case "rdbOrdMarket" 'Ordenes vía market
                    Me.frmFuncionalidad.Source = Nothing
                    Me.frmFuncionalidad.Source = New Uri("pack://application:,,,/Presentacion/Gen_Ord_Market/GOMEliminarTripleCaptura.xaml")
                    FuncionActiva = funcionSel
                    Me.lblPantalla.Content = "Operaciones GxE"

                Case "rdbAPICContingencia" 'APIC Contingencia
                    Me.frmFuncionalidad.Source = Nothing
                    Me.frmFuncionalidad.Source = New Uri("pack://application:,,,/Presentacion/Macros/Formas/CAPICContingencia.xaml")
                    FuncionActiva = funcionSel
                    Me.lblPantalla.Content = "APIC Contingencia"
                Case "rdbBitacoraAPICContingencia" 'Bitácora APIC Contingencia
                    Me.frmFuncionalidad.Source = Nothing
                    Me.frmFuncionalidad.Source = New Uri("pack://application:,,,/Presentacion/Macros/Formas/CBitacoraAPICContingencia.xaml")
                    FuncionActiva = funcionSel
                    Me.lblPantalla.Content = "Bitácora APIC Contingencia"

            End Select
    End If

        If TypeOf args.Source Is Button Then
            Dim funcionSel As Button = CType(args.Source, Button)
            Me.frmFuncionalidad.Source = Nothing
            If funcionSel.Name = "btnInicio" Then
                Me.frmFuncionalidad.Source = New Uri("pack://application:,,,/Presentacion/Macros/Formas/CInicio.xaml")
                FuncionActiva.IsChecked = False
                Me.lblPantalla.Content = "Inicio"
                Me.frmFuncionalidad.RemoveBackEntry()
            End If
        End If

End Sub

Private Sub frmFuncionalidad_Navigated(ByVal sender As System.Object, ByVal e As System.Windows.Navigation.NavigationEventArgs) Handles frmFuncionalidad.Navigated
    Me.frmFuncionalidad.NavigationService.RemoveBackEntry()
End Sub

'Private Sub imgSalir_MouseLeftButtonUp(ByVal sender As System.Object , ByVal e As System.Windows.Input.MouseButtonEventArgs) Handles imgSalir.MouseLeftButtonUp
'   Me.Close ()
'   My.Application.Shutdown (0) 
'End Sub

'Private Sub imgMinimizar_MouseLeftButtonUp(ByVal sender As System.Object , ByVal e As System.Windows.Input.MouseButtonEventArgs) Handles imgMinimizar.MouseLeftButtonUp
'  Me.WindowState = Windows.WindowState.Minimized 
'End Sub

Private Sub OcultarFuncionesXArea()

Dim negocioGen As New CServiciosGenerales()
Dim lstAreaFuncion As List(Of CAreaFuncion)


Dim ExpanderAActivar As Integer
Dim FuncionAActivar As Integer



lstAreaFuncion = negocioGen.ObtenerAreasFuncionesXUsuario(CServiciosMacrosSyBaseDB.USUARIO)
If lstAreaFuncion Is Nothing Then
  MessageBox.Show("No existen funciones disponibles para el usuario: " & CServiciosMacrosSyBaseDB.USUARIO & "; u ocurrió algún problema en el proceso, consulte al área de soporte.", "Acceso al sistema", MessageBoxButton.OK, MessageBoxImage.Exclamation)
   Me.Close()
   My.Application.Shutdown(0)
End If




For Each elemento As CAreaFuncion In lstAreaFuncion


 ExpanderAActivar = elemento.IdArea
 FuncionAActivar = elemento.IdFuncion

        'Activación del expander
        Select Case ExpanderAActivar

          Case 1 ' Front office
               Me.expFrontOffice.Visibility = Windows.Visibility.Visible
          Case 2 ' Middle Office
               Me.expMiddleOffice.Visibility = Windows.Visibility.Visible
          Case 3 ' Ejecución
               Me.expEjecucion.Visibility = Windows.Visibility.Visible
          Case 4 ' Administración
               Me.expAdmin.Visibility = Windows.Visibility.Visible
          Case 5 ' Sistemas
               Me.expMantenimiento.Visibility = Windows.Visibility.Visible
          Case 6 'Configuración
               Me.expConfiguracion.Visibility = Windows.Visibility.Visible
        End Select


         'Activación de la funcion
        Select Case FuncionAActivar

                Case 1
                    Me.rdbgenBsoPs.Visibility = Windows.Visibility.Visible
                Case 2
                    Me.rdbDistribLiq.Visibility = Windows.Visibility.Visible
                'Case 3
                '    Me.rdbSaldos.Visibility = Windows.Visibility.Visible  /*Se Mantiene esta funcionalidad hasta que sea descartada por el usuario en pruebas */
                Case 4
                    Me.rdbConfigLiq.Visibility = Windows.Visibility.Visible
                Case 5
                    Me.rdbBitacora.Visibility = Windows.Visibility.Visible
                Case 6
                    Me.rdbFoliosDec.Visibility = Windows.Visibility.Visible
                Case 7
                    Me.rdbCOVAFTL.Visibility = Windows.Visibility.Visible
                Case 8
                    Me.rdbCOVAFTLPorvenir.Visibility = Windows.Visibility.Visible
                Case 10
                    Me.rdbTraspasos.Visibility = Windows.Visibility.Visible
                Case 11
                    Me.rdbFactorUDI.Visibility = Windows.Visibility.Visible
                Case 12
                    Me.rdbValmer.Visibility = Windows.Visibility.Visible
                Case 14
                    Me.rdbBench.Visibility = Windows.Visibility.Visible
                Case 13
                    Me.rdbIssuePR.Visibility = Windows.Visibility.Visible
                Case 15
                    Me.rdbReporting.Visibility = Windows.Visibility.Visible
                Case 16
                    Me.rdbLoadInstrument.Visibility = Windows.Visibility.Visible
                Case 17
                    Me.rdbBitacoraReporting.Visibility = Windows.Visibility.Visible
                Case 18
                    Me.rdbConfigCOVAFTLPorvenir.Visibility = Windows.Visibility.Visible
                Case 19
                    Me.rdbConfigReporting.Visibility = Windows.Visibility.Visible
                Case 20
                    Me.rdbBitacoraTraspasos.Visibility = Windows.Visibility.Visible
                Case 21
                    Me.rdbBitacoraCOVAFTL.Visibility = Windows.Visibility.Visible
                Case 22
                    Me.rdbBitacoraCOVAFTLPorvenir.Visibility = Windows.Visibility.Visible
                Case 23
                    Me.rdbUsuarios.Visibility = Windows.Visibility.Visible
                Case 24
                    Me.rdbConfigBench.Visibility = Windows.Visibility.Visible
                Case 25
                    Me.rdbConfigValmer.Visibility = Windows.Visibility.Visible
                Case 26
                    Me.rdbConfigLI.Visibility = Windows.Visibility.Visible
                Case 27
                    Me.rdbConfigTraspasos.Visibility = Windows.Visibility.Visible
                Case 28
                    Me.rdbAPIAssetAllocation.Visibility = Windows.Visibility.Visible
                Case 29
                    Me.rdbBitacoraAPIAssetAllocation.Visibility = Windows.Visibility.Visible
                Case 30
                    Me.rdbConfigCamposValmer.Visibility = Windows.Visibility.Visible
                Case 31
                    Me.rdbExtraccionFicheros.Visibility = Windows.Visibility.Visible
                Case 33
                    Me.rdbFLDistEnPEJ.Visibility = Windows.Visibility.Visible
                Case 35
                    Me.rdbMonitorFL.Visibility =  Windows.Visibility.Visible
                Case 36
                    Me.rdbCartasDistrib.Visibility = Windows.Visibility.Visible    
                Case 37
                    Me.rdbOrdMarket.Visibility = Windows.Visibility.Visible
                Case 38
                    Me.rdbAPICContingencia.Visibility = Windows.Visibility.Visible
                Case 39
                    Me.rdbBitacoraAPICContingencia.Visibility = Windows.Visibility.Visible
            End Select

Next


End Sub


#Region "(INICIO)Tareas programadas"
    Public Sub EjecutarMasivaValmer()
      Try
          negocioVALMER.LanzarProcesamientoValmerBatch(negocioVALMER.ObtenerNumInstrumAlmacenados())
          negocioVALMER.EjecutarProceso(True)
      Catch ex As Exception
         'La llamada a T-Loder genera una excepción, pero el procesamiento se realiza correctamente, por lo tanto, no se efectua ningún manejo de la excepción. 
      End Try
    
    
    End Sub
#End Region


Private Sub MainWindow_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles Me.Closing
        Dim negocio As New CServiciosGenerales()
        Dim sMsgError As String = ""
       negocio.EliminarSesionActiva(CServiciosMacrosSyBaseDB.SESION, CServiciosMacrosSyBaseDB.USUARIO, sMsgError)
       End
End Sub




'**********************************NOTIFICACION*********************************************


Private Sub Window_StateChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
   'If WindowState = WindowState.Minimized Then
   '    Hide()
   '    If Not (iconNotification Is Nothing) Then
   '        iconNotification.Visible = true
   '       iconNotification.ShowBalloonTip(2000)
          
   '    End If

   'End If
   
End Sub

Public Sub VerificarIcono()
 'MostrarIcono(Not IsVisible)
End Sub

Public Sub MostrarIcono(ByRef mostrar As Boolean)
  'If Not (iconNotification Is Nothing) Then
  '    iconNotification.Visible = mostrar
  'End If

End Sub

Private Sub Window_IsVisibleChanged(ByVal sender As System.Object, ByVal e As System.Windows.DependencyPropertyChangedEventArgs)
 'VerificarIcono()
End Sub

Public  Sub iconNotification_Click(ByVal sender As Object, ByVal e As EventArgs)
      'Show()
      'WindowState = System.Windows.WindowState.Normal
End Sub

'**********************************NOTIFICACION*********************************************


End Class
